/*
	Copyright 2012 J. Gohlke
	Licensed under the Apache License, Version 2.0 (the
	"License"); you may not use this file except in
	compliance with the License. You may obtain a copy
	of the License at

	http://www.apache.org/licenses/LICENSE-2.0

	Unless required by applicable law or agreed to in
	writing, software distributed under the License is
	distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
	OR CONDITIONS OF ANY KIND, either express or
	implied. See the License for the specific language
	governing permissions and limitations under the
	License
 */
package com.gohlke.lwo.textures;

import com.gohlke.lwo.params.FloatParam;

/**
 *
 * @author David Wise
 * 
 * 
 */
public class ImageMap extends TextureMap {
    /*
     * Clip Index
     */
    public int clipIndex;
    /*
     * The projection defines how 2D coordinates in the 
     * image are transformed into 3D coordinates in the scene.
     */
    public int projection;
    /*
     * UV Vertex Map
     * 
     * For UV projection, which depends on texture coordinates at each vertex,
     * this selects the name of the TXUV vertex map that contains those coordinates
     */
    public String vmapName;
    /*
     * The major axis used for planar, cylindrical and spherical projections.
     * The value is 0, 1 or 2 for the X, Y or Z axis
     */
    public int axis;
    /*
     * Width Wrap Type
     */
    public int wrapw_type;
    /*
     * Height Wrap Type
     */
    public int wraph_type;
    /*
     * Width Wrap Amount
     */
    public FloatParam wrapw;
    /*
     * Height Wrap Amount
     */
    public FloatParam wraph;
    /*
     * Antialiasing Strength
     * 
     * The antialiasing strength is proportional to the width of the
     * sample filter, so larger values sample a larger area of the image
     */
    public float aa_strength;
    /*
     * Antialiasing Flags
     * The low bit of the flags word is an enable flag for texture antialiasing.
     */
    public int aas_flags;
    /*
     * Pixel Blending
     * 
     * Pixel blending enlarges the sample filter when it would otherwise
     * be smaller than a single image map pixel. 
     * If the low-order flag bit is set, then pixel blending is enabled.
     */
    public int pblend;
    /*
     * Sticky Projection
     * 
     * The "sticky" or fixed projection time for front projection image maps. 
     * When on, front projections will be fixed at the given time.
     */
    public FloatParam stck;
    /*
     * Appears in image texture layers applied to the bump channel. 
     * Texture amplitude scales the bump height derived from the pixel values. 
     * The default is 1.0
     */
    public FloatParam amplitude = new FloatParam(1f);
    
}
